package vip.yyzhu.redisadmin.redis;

import lombok.Data;
import org.springframework.stereotype.Service;
import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.Map;

@Service("RedisList")
public class RedisList {
    Map<String, RedisData> redisMap = new HashMap<>();
    Jedis jedis = null;

    public void add(String s, RedisData j) {
        // if (s == null || s.equals("")) {
        //     if (jedis != null) {
        //         if ("PONG".equals(jedis.ping())) {
        //             jedis.close();
        //         }
        //     }
        //     jedis = j.getJedis();
        // }
        RedisData tempJedis = redisMap.get(s);
        if (tempJedis != null) {
            if ("PONG".equals(tempJedis.getJedis().ping())) {
                tempJedis.getJedis().close();
            }
        }

        redisMap.put(s, j);
    }

    public Jedis getJedis(String s) {
        // if (s == null || s.equals("")) {
        //     return jedis;
        // }
        return redisMap.get(s).getJedis();
    }
    public RedisData getData(String s) {
        // if (s == null || s.equals("")) {
        //     return jedis;
        // }
        return redisMap.get(s);
    }

    public void del(String s) {
        // if (s == null || s.equals("")) {
        //     if (jedis != null) {
        //         if ("PONG".equals(jedis.ping())) {
        //             jedis.close();
        //         }
        //         jedis = null;
        //     }
        // }
        Jedis tempJedis = redisMap.get(s).getJedis();
        if (tempJedis != null) {
            if ("PONG".equals(tempJedis.ping())) {
                tempJedis.close();
            }
            redisMap.remove(s);
        }
    }

    public Map map() {
        return redisMap;
    }
}
